#ifndef SEQUENCEGUIFACTORY_H
#define SEQUENCEGUIFACTORY_H

#include <QObject>

class QWidget;
class QAbstractItemModel;

class IF_SequenceEngineInterface;
class SequenceModel;
class ActionListController;
class SequenceRunner;

/**
 * factory class for all widgets related to sequence functionality
 */
class SequenceGuiFactory : public QObject
{
   Q_OBJECT
public:
   explicit SequenceGuiFactory(IF_SequenceEngineInterface * engineIF, SequenceModel *sequenceModel,
                                QWidget *parent = 0);

   void build( ActionListController *actionController, SequenceRunner *sequenceRunner,
               QAbstractItemModel *mediaModel, QAbstractItemModel *lightModel);

private:
   IF_SequenceEngineInterface * m_engineInterface;
   SequenceModel *m_sequenceModel;
   QWidget * m_container;

};

#endif // SEQUENCEGUIFACTORY_H
